package cn.tedu.design;

/*本类用来实现单例模式一*/
public class Singleton1 {
    public static void main(String[] args) {
        MySingleton instance = MySingleton.getInstance();
        MySingleton instance1= MySingleton.getInstance();
        System.out.println(instance==instance1);
        System.out.println(instance);
        System.out.println(instance1);
    }
}
//cn.tedu.design.MySingleton@1b6d3586
/*思考 在构造方法与对象均私有化之后 需要根据公共的全局访问点来获取
* 本类对象，但是，我们如何调用这个公共的方法呢
* 之前调用方法都是通过创建对象来调用，但现在单例无法在外部创建本类对象
* 解决方案 把公共方法设置为静态，这样就直接可以通过类型调用*/
class MySingleton {
    /*1.构造方法私有化的目的：位置防止外界创建本类对象*/
    private MySingleton() {
    }
    /*用static修饰本方法。为了外部可以获取对象*/
    private  static MySingleton m=new MySingleton();
    public static MySingleton getInstance(){
        return m;
    }
}
